package com.lucan.tracking.annotations;

import com.lucan.tracking.enums.Action;
import com.lucan.tracking.enums.Sequence;

import java.lang.annotation.*;

/**
 * @author qihailong
 * @date 2018/7/9 下午4:31
 * @description 方法被执行时上报打点
 */
@Target({ElementType.METHOD})
@Retention(RetentionPolicy.CLASS)
public @interface Track {

    /**
     * url params关联的beanid
     *
     * @return
     */
    String beanId();

    /**
     * 日志上报时机 立刻/延后
     *
     * @return
     */
    Action action() default Action.NOW;

    /**
     * 日志上报顺序 方法体执行前/执行后
     *
     * @return
     */
    Sequence sequence() default Sequence.AFTER;

    /**
     * true：post，false：get
     *
     * @return
     */
    boolean post() default true;
}
